package com.yidu.hbatsams.action.AtsDataDic;

import com.yidu.hbatsams.domain.AtsDataDic;
import com.yidu.hbatsams.service.AtsDataDicSerivce;
import com.yidu.hbatsams.utils.Message;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 数据字典
 */
@Controller
@RequestMapping("/dicAction")
public class AtsDataDicAction {

    @Resource
    AtsDataDicSerivce dicSerivce;

    /**
     * 查询所有
     * @param pageNum
     * @param pageSize
     * @param dname
     * @param dtype
     * @return
     */
    @ResponseBody
    @RequestMapping("/selectAll")
    public Map<String,Object> selectAll(@RequestParam("page") Integer pageNum, @RequestParam("limit") Integer pageSize,String dname, String dtype){
        //调用map方法
        Map<String,Object> map = new HashMap<>();
        //调用查询总行数
        int count = dicSerivce.count();
        //调用查询所有方法
        List<AtsDataDic> list = dicSerivce.selectAll(pageNum,pageSize,dname,dtype);
        map.put("code",0);
        map.put("msg","");
        map.put("count",count);
        map.put("data",list);
        //返回map
        return map;
    }

    /**
     * 修改状态
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping("/updateId")
    public int updateId(String id){
        //返回修改状态方法
        return dicSerivce.updateId(Integer.valueOf(id));
    }

    /**
     * 根据Id查询
     * @param did
     * @return
     */
    @ResponseBody
    @RequestMapping("/findById")
    public AtsDataDic findById(Integer did){
        //调用根据ID查询方法
        AtsDataDic ddic = dicSerivce.findById(did);
        return ddic;
    }

    /**
     * 增加与修改
     * @param atsDataDic
     * @return
     */
    @ResponseBody
    @RequestMapping("/addAndUpdate")
    public Message addAndUpdate(AtsDataDic atsDataDic){
        //定义一个变量
        int rows = 0;
        //新建Message
        Message msg = new Message();
        //判断id为空
        if(atsDataDic.getDid()==null){
            //调用增加方法
            rows = dicSerivce.insertSelective(atsDataDic);
            //判断id不为空
        }else if(atsDataDic.getDid()!=null&&atsDataDic.getDid()>0){
            //调用修改方法
            rows = dicSerivce.updateByPrimaryKeySelective(atsDataDic);
        }
        //判断变量大于0
        if (rows>0){
            msg.setNum(1);
            msg.setMsg("操作成功");
        }else{
            msg.setNum(0);
            msg.setMsg("操作失败");
        }
        //返回msg
        return msg;
    }
    /**
     * 查询字典类型
     * @param dcode 类型
     * @return 类型集合
     */
    @ResponseBody
    @RequestMapping("selectType")
    public List<AtsDataDic> selectDic(String dcode){
        //返回查询字典类型
        return dicSerivce.selectDcode(dcode);
    }


}
